// 页面中服用的数据和逻辑
import { ref, onMounted } from 'vue'
// 导入轮播图api
import { findBanner } from '@/api/home.js'

// 倒计时
import { useCountDown } from './index.js'
import schema from '@/utils/vee-validate-schema'
import Message from '../components/Message/index.js'
// 获取轮播图数据
export function useBanner () {
  // 定义轮播图数组
  const sliders = ref([])
  // 封装方法异步请求数据
  async function aoadBanner () {
    const { data } = await findBanner()
    // 为轮播图数组数据赋值
    sliders.value = data.result
  }
  onMounted(() => {
    aoadBanner()
  })
  return { sliders }
}

// 发送验证码
export const sueSendCode = (formDtaa, fm, sendCodeApi) => {
  /**
   * 思路 :
   * 1.引入倒计时方法
   * 2.定义发短信事件回调函数  {1:校验手机号对不对(单独做校验) ,2:确保在60s之外才能发送 }
   * 3.调用接口发送请求
   */
  const { count, start } = useCountDown(60)
  // 点击事件的回调
  const send = async () => {
    const valid = schema.mobile(formDtaa.mobile)
    console.log(valid, 111111)
    if (valid === true) {
      console.log(valid, 2222)
      // 通过校验
      if (count.value === 0) {
        console.log(valid, 33333)
        // 发送大短信请求
        await sendCodeApi(formDtaa.mobile)
        Message({ type: 'success', text: '短信发送成功' })
        // 调用成功开始倒计时
        start()
      }
    } else {
      // 校验失败
      fm.value.setFieldError('mobile', valid)
    }
  }
  return { count, send }
}
